_FILE_OBJECT

//0x80 bytes (sizeof) struct _FILE_OBJECT { SHORT Type; //0x0 SHORT Size; //0x2 struct _DEVICE_OBJECT* DeviceObject; //0x4 struct _VPB* Vpb; //0x8 VOID* FsContext; //0xc VOID* FsContext2; //0x10 struct _SECTION_OBJECT_POINTERS* SectionObjectPointer; //0x14 VOID* PrivateCacheMap; //0x18 LONG FinalStatus; //0x1c struct _FILE_OBJECT* RelatedFileObject; //0x20 UCHAR LockOperation; //0x24 UCHAR DeletePending; //0x25 UCHAR ReadAccess; //0x26 UCHAR WriteAccess; //0x27 UCHAR DeleteAccess; //0x28 UCHAR SharedRead; //0x29 UCHAR SharedWrite; //0x2a UCHAR SharedDelete; //0x2b ULONG Flags; //0x2c struct _UNICODE_STRING FileName; //0x30 union _LARGE_INTEGER CurrentByteOffset; //0x38 ULONG Waiters; //0x40 ULONG Busy; //0x44 VOID* LastLock; //0x48 struct _KEVENT Lock; //0x4c struct _KEVENT Event; //0x5c struct _IO_COMPLETION_CONTEXT* CompletionContext; //0x6c ULONG IrpListLock; //0x70 struct _LIST_ENTRY IrpList; //0x74 VOID* FileObjectExtension; //0x7c };